Azure SDK for .NET (November 2019)
The Azure SDK team is pleased to announce our November 2019 client library releases. This represents the first GA release of a ground-up rewrite of our client libraries to ensure consistency, idiomatic design, productivity, and an excellent developer experience.
This release includes the following:
GA
- Storage (Blobs, Queues)
- Key Vault (Secrets, Keys)
- Identity
Preview
- Storage (Files)
- Event Hubs
- Cosmos
- App Configuration
Installation Instructions
To install any of our packages, please search for them via Manage NuGet Packages... in Visual Studio (with Include prerelease checked) or copy these commands into your terminal:
$> dotnet add package Azure.Storage.Blobs
$> dotnet add package Azure.Storage.Blobs.Batch
$> dotnet add package Azure.Storage.Queues
$> dotnet add package Azure.Storage.Files.Shares --version 12.0.0-preview.5
$> dotnet add package Azure.Security.KeyVault.Secrets
$> dotnet add package Azure.Security.KeyVault.Key
$> dotnet add package Azure.Security.KeyVault.Certificates --version 4.0.0-preview.6
$> dotnet add package Azure.Messaging.EventHubs --version 5.0.0-preview.5
$> dotnet add package Azure.Identity
$> dotnet add package Azure.Data.AppConfiguration --version 1.0.0-preview.4
$> dotnet add package Azure.Cosmos --version 4.0.0-preview
Feedback
If you have a bug or feature request for one of the libraries, please file an issue in our repo.
Changelog
Detailed changelogs are linked from the Quick Links below. Here are some of the highlights:
- New client libraries were created using the Azure SDK Design Guidelines for .NET resulting in consistent API patterns and shared features like automatic retries, authentication, logging, configurable transport pipelines, exceptions, mocking, etc.
- Support for Azure Active Directory credentials using our new Identity library that embrace the future of authentication across Azure services.
- Parity across synchronous and asynchronous APIs offering a choice appropriate to your application.
- Updated dependencies on the latest (preview-7) version of
Azure.Corelibrary.
Storage
- Renamed
Azure.Storage.Blobs.BatchingtoAzure.Storage.Blobs.Batchfor consistency with other platforms - Renamed
Azure.Storage.FilestoAzure.Storage.Files.Sharesto better align with the newly released Azure.Storage.Files.DataLake and provide a consistent set of APIs for working with files on Azure - Renamed a number of operations and models to better align with other client libraries and the .NET Framework Design Guidelines
- Bug fixes
Azure Identity
- Various types have been renamed. See the Identity changelog for details.
- Updated exception model across the Azure.Identity library.
TokenCredentialimplementations in the Azure.Identity library now throw exceptions rather than returningdefault(AccessToken) when no token is obtained- Added the
CredentialUnavailableExcpetionexception type to distinguish cases when failure to obtain anAccessTokenwas expected
Event Hubs
- The early stages of a large refactoring of the Event Hub client type hierarchy are complete. For more details, please see the Event Hubs changelog.
- Cancellation tokens are now fully supported throughout the client hierarchy and across operations.
- The information about the last event enqueued to a partition is now presented as an immutable object, if the tracking option was enabled.
- Retry policies and timeouts have been made local to a specific client instance, making them easier to configure and reason about.
- Client types using Azure identity for authorization should now be working properly; a bug was fixed to allow the proper authorization scopes to be requested. (A community contribution, courtesy of albertodenatale)
Key Vault
Keyhas been renamed toKeyVaultKeyto avoid ambiguity with other libraries and to yield better search results.KeyClient.GetKeysandKeyClient.GetKeyVersionshave been renamed toKeyClient.GetPropertiesOfKeysandKeyClient.GetPropertiesOfKeyVersionsrespectively.KeyClient.DeleteKeyhas been renamed toKeyClient.StartDeleteKeyand now returns aDeleteKeyOperationto track this long-running operation.Secrethas been renamed toKeyVaultSecretto avoid ambiguity with other libraries and to yield better search results.SecretClient.GetSecretsandSecretClient.GetSecretVersionshave been renamed toSecretClient.GetPropertiesOfSecretsandSecretClient.GetPropertiesOfSecretVersionsrespectively.SecretClient.DeleteSecrethas been renamed toSecretClient.StartDeleteSecretand now returns aDeleteSecretOperationto track this long-running operation.- Various other types have been renamed. See the Key Vault Keys and Secrets changelogs for details.
- The Certificates client library has been updated to work with the 1.0.0 release versions of Azure.Core and Azure.Identity.
App Configuration
- Changed
ConfigurationClientmethod names to align with client methods in other Azure SDK libraries. - Made terminology consistent around
IsReadOnly. - Removed methods and properties exposing unnecessary complexity, including a
SetConfigurationSettingoverload and theConfigurationClientOptions.Versionproperty. - Fixed a bug causing incorrect request signing on retries.
- Made
ConfigurationSettingserializable bySystem.Text.Jsonserializers. - Additional API improvements; see App Configuration changelog for further details.
Cosmos
- Initial 4.0.0 preview release.